home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / a56 / src / makefile.st < prev    next >
Makefile  |  1995-04-27  |  2KB  |  125 lines

  1. #######################################################
  2. #
  3. #  a56 - a DSP56001 assembler
  4. #
  5. #  Written by Quinn C. Jensen
  6. #  July 1990
  7. #
  8. #######################################################
  9.  
  10. # environment definitions
  11. # uncomment the ones you like
  12.  
  13. # generic unix
  14. #CC = cc
  15. #HOSTCC = cc
  16. #YACC = yacc
  17. #CCDEFS =
  18. #MV = mv
  19. #YTABC = y.tab.c
  20. #YTABH = y.tab.h
  21. #POSTPROCESS = echo
  22.  
  23. # gcc & bison
  24. #CC = gcc
  25. #HOSTCC = gcc
  26. #YACC = bison -y
  27. #CCDEFS =
  28. #MV = mv
  29. #YTABC = y.tab.c
  30. #YTABH = y.tab.h
  31. #POSTPROCESS = echo
  32.  
  33. # Delorie's DOS gcc (from ftp://omnigate.clarkson.edu/pub/msdos/djgpp)
  34. #CC = gcc
  35. #HOSTCC = gcc
  36. #YACC = bison -y
  37. #CCDEFS =
  38. #MV = ren
  39. #YTABC = y_tab.c
  40. #YTABH = y_tab.h
  41. #POSTPROCESS = coff2exe
  42.  
  43. # gcc cross-compile to go32 environment
  44. #CC = i386-go32-gcc
  45. #HOSTCC = cc
  46. #YACC = yacc
  47. #CCDEFS =
  48. #MV = mv
  49. #YTABC = y.tab.c
  50. #YTABH = y.tab.h
  51. #POSTPROCESS = coff2exe
  52.  
  53. # gcc cross-compile for atari computers
  54. CC = cgcc
  55. HOSTCC = gcc
  56. YACC = bison -y
  57. CCDEFS =
  58. MV = mv
  59. YTABC = y.tab.c
  60. YTABH = y.tab.h
  61. POSTPROCESS = echo
  62.  
  63. #######################################################
  64.  
  65. # -O or -g
  66. DEBUG = -O
  67.  
  68. SRCS = main.c a56.y lex.c subs.c getopt.c kparse.key
  69. OBJS = main.o gram.o lex.o toktab.o subs.o getopt.o kparse.o
  70.  
  71. DEFINES = $(CCDEFS)
  72. #DEFINES = -DYYDEBUG -DLDEBUG $(CCDEFS)
  73.  
  74. CFLAGS = $(DEBUG) $(DEFINES)
  75.  
  76. all:    keybld a56 toomf
  77.  
  78. a56:    $(OBJS)
  79.     $(CC) $(CFLAGS) -o a56.ttp $(OBJS)
  80.     @$(POSTPROCESS) a56.ttp
  81.     xstrip a56.ttp
  82.  
  83. keybld:    keybld.o ksubs.o
  84.     $(HOSTCC) $(CFLAGS) -o keybld keybld.o ksubs.o
  85.     @$(POSTPROCESS) keybld
  86.  
  87. keybld.o:    keybld.c
  88.     $(HOSTCC) $(CFLAGS) -c keybld.c
  89.  
  90. ksubs.o:    subs.c
  91.     $(HOSTCC) $(CFLAGS) -c subs.c
  92.     $(MV) subs.o ksubs.o
  93.  
  94. lex.o:    lex.c gram.h
  95.  
  96. kparse.c:    a56.key keybld
  97.     keybld < a56.key > kparse.c
  98.  
  99. gram.c gram.h:    a56.y
  100.     @echo "[expect 2 shift/reduce conflicts here]"
  101.     $(YACC) -d a56.y
  102.     $(MV) $(YTABC) gram.c
  103.     $(MV) $(YTABH) gram.h
  104.  
  105. toktab.c:    gram.h
  106.     awk -f tok.awk < gram.h > toktab.c
  107.  
  108. y.output:    a56.y
  109.     $(YACC) -v a56.y
  110.  
  111. toomf:    toomf.o
  112.     $(CC) -o toomf.ttp $(CFLAGS) toomf.o
  113.     @$(POSTPROCESS) toomf.ttp
  114.     xstrip toomf.ttp
  115.  
  116. tape:    toktab.c
  117.     csh -c 'tar cvbf 1 - `cat files` | gzip > a56.tar.gz'
  118.  
  119. main.o gram.o lex.o:    a56.h
  120.  
  121. clean:    ; rm -f a56 toomf y.output *.o *.out tmp *.bak a56.tar.gz keybld
  122.  
  123. spotless:    clean
  124.     rm -f gram.c lexyy.c gram.h toktab.c kparse.c
  125.